import 'package:flutter/material.dart';

main() => runApp(MyApp());

/*void main() {
  //1.runApp函数
//  runApp(Center(
//    child: Text(
//      'Hi,madison',
//      textDirection: TextDirection.ltr,
//      style: TextStyle(fontSize: 30, color: Colors.orange),
//    ),
//  ));

//  runApp(MaterialApp(
//    home: Center(
//      child: Text(
//        'Hi,madison',
//        textDirection: TextDirection.ltr,
//        style: TextStyle(fontSize: 30, color: Colors.orange),
//      ),
//    ),
//  ));

//  runApp(MaterialApp(
//      debugShowCheckedModeBanner: false,
//      home: Scaffold(
//        appBar: AppBar(
//          title: Text('第一个flutter程序'),
//        ),
//        body: Center(
//          child: Text(
//            'Hi,madison',
//            textDirection: TextDirection.ltr,
//            style: TextStyle(fontSize: 30, color: Colors.orange),
//          ),
//        ),
//      )));

  runApp(MyApp());
}*/

/**
 * Widget
 * 有状态的Widget: StatefulWidget 在运行过程中有一些状态(data)需要改变
 * 无状态的Widget: StatelessWidget 内容是确定的没有状态(data)
 */
class MyApp extends StatelessWidget {
  //build
  @override
  Widget build(BuildContext context) {
    return MaterialApp(debugShowCheckedModeBanner: false, home: HYHomePage());
  }
}

class HYHomePage extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('第一个flutter程序'),
      ),
      body: HYContentBody(),
    );
  }
}

/*class HYContentBody extends StatelessWidget {
  //错误代码
  final flag = true;
  @override
  Widget build(BuildContext context) {
//    return Center(
//      child: Text(
//        'Hi,madison',
//        textDirection: TextDirection.ltr,
//        style: TextStyle(fontSize: 30, color: Colors.orange),
//      ),
//    );
    return Center(
      child: Row(
        mainAxisAlignment: MainAxisAlignment.center,
        children: [
          Checkbox(value: flag, onChanged: (value) => flag = value),
          Text(
            '同意协议',
            style: TextStyle(fontSize: 20),
          ),
        ],
      ),
    );
  }
}*/

//flag 状态
//StatefulWidget 不能定义状态 -> 创建一个单独的类，这个类负责维护状态
class HYContentBody extends StatefulWidget {
  @override
  State<StatefulWidget> createState() {
    return HYContentState();
  }
}

class HYContentState extends State<HYContentBody> {
  var flag = true;

  @override
  Widget build(BuildContext context) {
    return Center(
      child: Row(
        mainAxisAlignment: MainAxisAlignment.center,
        children: [
          Checkbox(
              value: flag,
              onChanged: (value) {
                setState(() {
                  flag = value;
                });
              }),
          Text(
            '同意协议',
            style: TextStyle(fontSize: 20),
          ),
        ],
      ),
    );
  }
}
